<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    //一.赋值运算符 - 将右边的结果给左边 =
    // var a = 5; //解读：将右边的5赋值给左边的变量a.
    // var b = window.prompt('请输入一个数字：');
    // var c = a + 10;//c = 15

    //复合的赋值运算符：+=  -=  *=  /=  %=   更快捷，更优
    // var num = 1;
    // num += 10; //num = num + 10;
    // console.log(num); //11

    //二.数学运算符：+ - * / %
    // console.log(1 + 2);
    // console.log(1 - 2);
    // console.log(1 * 2);
    // console.log(1 / 2);

    //特殊1：+号(表示加法运算符，表示字符串的拼接符号，加减乘除取余都具有隐式转换)
    //表示字符串的拼接符号:+两边任意一边出现字符串，+就是连接符号。
    // var a = 1;
    // var b = '5';
    // console.log(a + b); //字符串15

    // var str1 = 'hello';
    // var str2 = 'world';
    // console.log(str1 + str2);//helloworld

    // var n1 = window.prompt('请输入一个数字：'); //100
    // var n2 = window.prompt('请再输入一个数字：'); //150
    // console.log(typeof n1); //string字符串格式
    // console.log(n1 + n2); //100150

    //特殊2.具有隐式转换:利用符号自动完成。
    // var a = 1;
    // var b = '5';
    // console.log(a + +b); //6  将字符串5转换成数字5.


    //特殊3.%求余数(求模)
    //如果第一个数比第二个数小，余数就是第一个数。
    // console.log(9 % 2); //1
    // console.log(9 % 3); //0
    // console.log(2 % 9); //2
    // console.log(3 % 9); //3

    // var num = prompt('请输入一个数字：');
    // console.log(num % 5); //结论：如果是num是一个合法的正整数，结果一定是[0,1,2,3,4]


    //特殊4：计算机二进制运算的小数误差造成的。
    // console.log(0.1 + 0.2); //0.30000000000000004
    // console.log(0.2 + 0.4); //0.60000000000000001
    // console.log(0.2 + 0.3); //0.5

    //解决方式：扩大倍数
    // console.log((0.1 * 10 + 0.2 * 10) / 10); //0.3
    // var n1 = 100;
    // n1 *= 5;
    // console.log(n1);//500

    //三.关系运算符 > < >= <= ==(相等) ===(全等或者恒等) !=(不相等)  !==(不恒等)
    //关系运算符结果一定是布尔值(true/false)
    //1.==和===区别
    //==比较的值相等，具有隐式转换。(隐式转换的核心是数字)
    //隐式转换：将字符串或者其他类型尽量转换成数字进行比较。
    // console.log(5 == 5);
    // console.log(5 == '5');
    // console.log('5' == '5');

    //===比较的是值和类型都要相等。
    // console.log(5 === '5'); //false 类型不相等
    // console.log('5' === '5'); //true 值和类型都相等。

    // var a = 3;
    // var b = 4;
    // console.log(a <= b); //true  a小于或者等于b

    // 2.= == ===的区别
    // console.log(true === 1); //false
    // console.log(true == 1); //true 1  false 0
    // console.log(true == 2); //false
</script>